package query.db;

import java.util.List;

import query.bean.User;

/**
 * 用户数据库操作接口
 * 
 * @author lzy
 * @version 1.0.4
 *
 */
public interface UserRepository {

	/**
	 * 查找一个用户
	 * 
	 * @param userName 用户名
	 * @param password 密码
	 * @return 查找结果
	 */
	public User search(String userName, String password);

	/**
	 * 查找一定范围内的用户
	 * 
	 * @param start 起始下标(不包括在内)
	 * @param num   要查找的用户数目
	 * @return 用户列表
	 */
	public List<User> search(int start, int num);

	/**
	 * 注册一个用户
	 * 
	 * @param userName 用户名
	 * @param password 密码
	 * @param email    电子邮箱
	 * @return 操作结果
	 */
	public boolean register(String userName, String password, String email);

	/**
	 * 更新用户信息
	 * 
	 * @param userName 用户名
	 * @param email    电子邮箱
	 * @param phone    电话号码
	 * @return 操作结果
	 */
	public boolean update(String userName, String email, String phone);

	/**
	 * 修改密码
	 * 
	 * @param userName 用户名
	 * @param password 密码
	 * @return 操作结果
	 */
	public boolean update(String userName, String password);

	/**
	 * 修改用户权限
	 * 
	 * @param userName 用户名
	 * @param manager  管理员权限
	 * @return 操作结果
	 */
	public boolean update(String userName, boolean manager);

	/**
	 * 删除用户
	 * 
	 * @param userName 用户名
	 * @return 操作结果
	 */
	public boolean delete(String userName);
}
